import { scene } from './utils/init'
import * as THREE from 'three'
import { guiChangeColor } from './utils/gui'

// 目标：基础网格材质-颜色贴图
// 步骤：
// 1. 创建几何图形
// 2. 定义纹理对象（图片）
// 3. 创建网格材质，装入纹理
// 4. 生成物体加入到场景中

function initBase() {
  // 1. 创建几何图形
  const geometry = new THREE.SphereGeometry(1, 32, 16)

  // 2. 定义纹理对象（图片）
  const textureLoader = new THREE.TextureLoader()
  const texture = textureLoader.load('texture/one/basecolor.jpg')
  // 更改使得颜色更加接近真实的颜色， 该颜色更加适合我们的人眼去观察
  texture.colorSpace = THREE.SRGBColorSpace

  // 3. 创建网格材质，装入纹理
  const material = new THREE.MeshBasicMaterial({ 
    map: texture // 颜色贴图
  })

  // 4. 生成物体加入到场景中
  const mesh = new THREE.Mesh(geometry, material)
  guiChangeColor(texture)
  scene.add(mesh)
}

initBase()